﻿// Open Source: MIT License (http://www.opensource.org/licenses/mit-license.php)
// Project: YoProgramo.NET (http://code.google.com/p/yoprogramo/)
// Autor: Fabian Figueredo (info@fabianfigueredo.com.ar)
// Blog: blog.yoprogramo.net

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using YoProgramo.Domain.Core.Interfaces;

namespace YoProgramo.Domain.Core.Entities
{
    public class Vote<TEntity> : EntityBase<long>, IVote<TEntity>, IHasAssignedId<long> {
        public virtual void SetAssignedIdTo(long assignedId)
        {
            throw new NotImplementedException();
        }

        public override int GetHashCode()
        {
            throw new NotImplementedException();
        }

        private TEntity _votefor;

        public TEntity VoteFor {
            get {
                return _votefor;
            }
            set {
                _votefor = value;
            }
        }

        private IUser _byuser;
        public virtual IUser ByUser
        {
            get { return _byuser; }
            set { _byuser = value; }
        }

        private string _fromipaddress;
        public virtual string FromIPAddress
        {
            get { return _fromipaddress; }
            set { _fromipaddress = value; }
        }

        private DateTime _PromotedAt;
        public virtual DateTime PromotedAt
        {
            get { return _PromotedAt; }
            set { _PromotedAt = value; }
        }

        public long Id {
            get { return base.Id; }
            set { base.Id = value; }
        }


        private int _rate;
        public int Rate {
            get {
                return _rate;
            }
            set {
                _rate = value;
            }
        }

    }
}